import js from '@eslint/js'

import globals from 'globals'

import tseslint from 'typescript-eslint'

import pluginVue from 'eslint-plugin-vue'

import { defineConfig } from 'eslint/config'

import prettierRecommended from 'eslint-plugin-prettier/recommended'

export default defineConfig([
  {
    files: ['**/*.{js,mjs,cjs,ts,mts,cts,vue}'],

    plugins: { js },

    extends: ['js/recommended'],

    languageOptions: { globals: { ...globals.browser, ...globals.node } }
  },

  tseslint.configs.recommended,

  pluginVue.configs['flat/essential'],

  {
    files: ['**/*.vue'],

    languageOptions: { parserOptions: { parser: tseslint.parser } }
  },

  {
    ignores: ['dist/**', 'node_modules/**', 'src/**/*.d.ts']
  },

  {
    rules: {
      // Your custom rules here

      // 'no-console': 'warn',

      'no-debugger': 'error'
    }
  },

  prettierRecommended
])
